import os

class Notepad:
    def __init__(self):
        self.notes = []

    def show_notes(self):
        if not self.notes:
            print("没有笔记。")
        else:
            for i, note in enumerate(self.notes, 1):
                print(f"{i}. {note.strip()}")

    def add_note(self):
        note = input("输入新笔记：")
        self.notes.append(note + "\n")
        print("笔记添加成功。")

    def delete_note(self):
        try:
            notenumber = int(input("输入要删除的笔记编号：")) - 1
            if 0 <= notenumber < len(self.notes):
                del self.notes[notenumber]
                print("笔记删除成功。")
            else:
                print("无效的笔记编号。")
        except ValueError:
            print("请输入有效的数字。")

    def save_notes(self):
        filename = input("输入文件名（包括路径）以保存笔记，或直接回车使用默认路径：")
        if not filename:
            filename = "notes.txt"
        with open(filename, "w") as file:
            file.writelines(self.notes)
        print(f"笔记已保存到 {filename}。")

    def run(self):
        while True:
            print("\n记事本小程序")
            print("1. 查看所有笔记")
            print("2. 添加新笔记")
            print("3. 删除笔记")
            print("4. 保存笔记到文件")
            print("5. 退出")
            choice = input("请选择操作：")

            if choice == "1":
                self.show_notes()
            elif choice == "2":
                self.add_note()
            elif choice == "3":
                self.delete_note()
            elif choice == "4":
                self.save_notes()
            elif choice == "5":
                print("退出程序。")
                break
            else:
                print("无效的选择，请重新输入。")

# 运行记事本
notepad = Notepad()
notepad.run()